package influence.propagation.core;
/**
 * Il ResultSet rappresenta una matrice risultato
 * @author Valerio
 *
 */
public interface ResultSet {

	/**
	 * Se il risultato è visato in ampiezza ogni iterazione rappresenta il numero di 
	 * attraversamenti eseguiti dall'algoritmo.
	 * Se il risultato è visitato in profondità le iterazioni rappresentano ogni nodo di
	 * partenza.
	 */
	int getIterations();
	
	/**
	 * Le occorrenze sono il numero di nodi visitati dall'algoritmo e restituiti nel risultato in base alle iterazioni
	 * @param iteration
	 */
	int getOccurence(int iteration);
	
	/**
	 * Restituisce il nodo rispetto all'iterazione ed all'occorrenza
	 * @param iteration
	 * @param occurence
	 * @return
	 */
	NodeModel get(int iteration, int occurence);
}
